import Service from "../../model/service"
import Http from "../../utils/http"
import { debounce, getEventParam } from "../../utils/util"
// 实例化
const service =  new Service()
// pages/project/index.js
Page({
  data: {
    loading:true, // 数据加载 骨架屏
    tabs: [{name:'全部', key:2},{name: '进行中',key: 0, num: 0} , {name:'已完成', key:1,num: 0}],
    list: [], // 列表
    tabIndex: 2, // 当前tab下标
    value: '', //输入检索词
  },
  async onLoad(options) {
    await this._getList()
    await this.setData({
      loading: false
    })
  },
  async onShow() {
    await this._getList()
    await this.setData({
      loading: false
    })
  },
  // 切换tab
  handleTabChange: debounce( async function(e) {
    this.data.tabIndex = getEventParam(e, 'index')
    await this._getList()
  }),
  // 双击页面回到顶部
  handleScrollToTop() {
    wx.pageScrollTo({
      scrollTop: 0
    })
  },
  // 获取列表 API
  async _getList() {
    // 发起网络请求，获取服务列表的数据
    const list = await service.reset().getList(this.data.tabIndex,this.data.value)
    this.setData({
      list: list.data,
      ['tabs[1].num']: list.underWayCount,
      ['tabs[2].num']: list.completedCount,
    })
  },
  // 检索
  onClick(e) {
    this._getList()
  },
  // 检索框绑定值
  onChange(e) {
    this.setData({
      value: e.detail
    })
  },
  // 进入项目信息
  handleDetail(e) {
    const project = e.currentTarget.dataset.project
    wx.navigateTo({
      url: `/pages/project-detail/project-detail?project_id=${project.id}&manager_id=${project.managerId}&dept_type=${project.deptType}&tempParent_id=${project.projectClassification}`,
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  async onPullDownRefresh() {
    // 简写
    this._getList()
    // 主动回弹
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  async onReachBottom() {
    // 获取下一页的数据
    if(!service.hasMoreData) {
      // 如果是最后一页,不走接口调用
      return
    }
    const list = await service.getList(this.data.tabIndex,this.data.value)
    this.setData({
      list: list.data,
      ['tabs[1].num']: list.underWayCount,
      ['tabs[2].num']: list.completedCount,
    })
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})